var CursoMapper = require('../mappers/curso.mapper'),
    Curso = require('../classes/curso'),
    Departamento = require('../classes/departamento');

function CursoController() {
    var mapper = new CursoMapper();

    this.add = function(nome, departamento, callback) {
        var dep = new Departamento();
        dep.setNome(departamento);
        var c = new Curso(nome, dep);
        mapper.add(c, callback);
    }

    this.get = function(nome, departamento, callback) {
        var dep = new Departamento();
        dep.setNome(departamento);
        var c = new Curso(nome, dep);
        mapper.get(c, callback);
    }
    
    this.getById = function(id, callback) {
        mapper.getById(id, callback);
    }

    //FIXME ????? id comes in req
    this.update = function(id, req) {
        var dep = new Departamento(req.body.departamento);
        var c = new Curso(req.body.nome, dep);

        mapper.update(id, c);
    }

    this.remove = function(nome, callback) {
        var c = new Curso(nome);
        mapper.remove(c, callback);
    }

    this.getAll = function(callback) {
        mapper.getAll(callback);
    }
}

module.exports = CursoController;
